import { AnimationRenderer } from './AnimationRenderer';
import { Camera } from './behaviours/Camera';
import { BoxCollider, CircleCollider, EdgeCollider } from './behaviours/Collider';
import { schoolgateScenePrefabBehaviour } from './ScenePrefabBehaviour/schoolgateScenePrefabBehaviour';
import { Prefab } from './behaviours/Prefab';
import { RigidBody } from './behaviours/RigidBody';
import { Rotatable } from './behaviours/Rotatable';
import { ShapeRectRenderer } from './behaviours/ShapeRectRenderer';
import { Walkable } from './behaviours/Walkable';
import { Order } from './behaviours/Order';
import { GameEngine, registerBehaviourClass, registerPrefabBehaviourClass } from './engine';
import { BitmapRenderer } from './engine/BitmapRenderer';
import { TextRenderer } from './engine/TextRenderer';
import { Transform } from './engine/Transform';
//小孙加了一个LeftMouseClick
import { LeftMouseClick } from './behaviours/LeftMouseClick';
import { Display } from './behaviours/Display';
import{ objectLift } from "./behaviours/objectLift";
import { cookAlert } from './behaviours/cookAlert';
import { MenuWalkable } from './behaviours/MenuWalkable';//滑动菜单
import { ItemSpeed } from './behaviours/ItemSpeed';
import { ShopActive } from './behaviours/ShopActive';
import { ShopClose } from './behaviours/ShopClose';
import { ButtonClick } from './behaviours/ButtonClick';
import { ButtonClick_Cancel } from './behaviours/ButtonClick_Cancel';
import { cookScenePrefabBehaviour } from './ScenePrefabBehaviour/cookScenePrefabBehaviour';
import { ChangeScene } from './behaviours/ChangeScene';
import { BillSystem } from './behaviours/BillSystem';
import { CharacterWalkable } from './behaviours/CharacterWalkable';
import { OrderButtonClick } from './behaviours/OrderButtonClick';




import { changeToANewDay } from './behaviours/changeToANewDay';
import { startClock } from './behaviours/StartClock';
import { Clock } from './behaviours/Clock';
import { Tip } from './behaviours/Tip';
import { Drag } from './behaviours/Drag';
import { xinagcaiPrefabBehaviour } from './prefabBehaviours/xinagcaiPrefabBehaviour';
import { onionPrefabBehavior } from './prefabBehaviours/onionPrefabBehavior';
import { CreateXiangcai } from './behaviours/CreateXiangcai';
import { DialogActive } from './behaviours/DialogActive';
import { OrderFinishedClicked } from './behaviours/OrderFinishedClick';
import { Orderfinish_1 } from './behaviours/Orderfinish_1';
import { CharacterWalkable_2 } from './behaviours/CharacterWalkable_2';
import { BillSystemActive } from './behaviours/BillSystemActive';
import { BillSystemClose } from './behaviours/BillSystemClose';
import { Test } from './behaviours/Test';
import { textMove } from './behaviours/textMove';
import { latiaoPrefabBehavior } from './prefabBehaviours/latiaoPrefabBehavior';
import { sausagePrefabBehavior } from './prefabBehaviours/sausagePrefabBehavior';
import{ baconPrefabBehaviour} from './prefabBehaviours/baconPrefabBehaviour';
import { chikenPrefabBehaviour } from './prefabBehaviours/chikenPrefabBehaviour';
import { startScenePrefabBehaviour } from './ScenePrefabBehaviour/startScenePrefabBehaviour';
import { changeDaysPrefabBehaviour } from './ScenePrefabBehaviour/changeDaysPrefabBehaviour';
import { UIPrefabBehaviour } from './ScenePrefabBehaviour/UIPrefabBehaviour';
import { BitmapWithClipRender } from './engine/BitmapWithClipRender';
import { BillTest } from './behaviours/BillTest';
import { Bill_OK_Click } from './behaviours/Bill_OK_Click';
import { suanrongPrefabBehaviour } from './prefabBehaviours/suanrongPrefabBehaviour';
import { conghuaPrefabBehaviour } from './prefabBehaviours/conghuaPrefabBehaviour';
import { UIGetFromSchoolScene } from './behaviours/UIGetFromSchoolScene';
import { OrderOpen } from './behaviours/OrderOpen';
import { ControlCharactor } from './behaviours/ControlCharactor';
import { dateStorageInUI } from './behaviours/dateStorageInUI';
import { sugarPrefabBehaviour } from './prefabBehaviours/sugarPrefabBehaviour';
import { Audio } from './engine/Audio';
import { mask } from './behaviours/mask';
import { ControlMenu } from './behaviours/ControlMenu';
import { ReturnMainScene } from './behaviours/ReturnMainScene';






registerBehaviourClass(OrderOpen);
registerBehaviourClass(UIGetFromSchoolScene);
registerBehaviourClass(Bill_OK_Click);
registerBehaviourClass(BillTest);
registerBehaviourClass(BillSystemClose);
registerBehaviourClass(BillSystemActive);
registerBehaviourClass(CharacterWalkable_2);
registerBehaviourClass(Orderfinish_1);
registerBehaviourClass(OrderFinishedClicked);
registerBehaviourClass(OrderButtonClick);
registerBehaviourClass(DialogActive);
registerBehaviourClass(OrderButtonClick);
registerBehaviourClass(CharacterWalkable);
registerBehaviourClass(startClock);
registerBehaviourClass(Clock);
registerBehaviourClass(Tip);
registerBehaviourClass(changeToANewDay);
registerBehaviourClass(textMove);
registerBehaviourClass(BillSystem);
registerBehaviourClass(ButtonClick_Cancel);
registerBehaviourClass(ShopActive);
registerBehaviourClass(ShopClose);
registerBehaviourClass(ButtonClick);
registerBehaviourClass(ItemSpeed);
registerBehaviourClass(MenuWalkable);
registerBehaviourClass(Order);
registerBehaviourClass(Transform);
registerBehaviourClass(TextRenderer);
registerBehaviourClass(BitmapRenderer);
registerBehaviourClass(Walkable);
registerBehaviourClass(Rotatable);
registerBehaviourClass(ShapeRectRenderer);
registerBehaviourClass(RigidBody);
registerBehaviourClass(BoxCollider);
registerBehaviourClass(CircleCollider);
registerBehaviourClass(EdgeCollider);
registerBehaviourClass(Camera);
registerBehaviourClass(LeftMouseClick);
registerBehaviourClass(objectLift);
registerBehaviourClass(cookAlert)
registerBehaviourClass(AnimationRenderer)
registerBehaviourClass(Prefab)
registerBehaviourClass(Display)
registerBehaviourClass(ChangeScene)
registerBehaviourClass(Drag)
registerBehaviourClass(CreateXiangcai)
registerBehaviourClass(BitmapWithClipRender)
registerBehaviourClass(Test)
registerBehaviourClass(ControlCharactor)
registerBehaviourClass(dateStorageInUI)
registerBehaviourClass(Audio)
registerBehaviourClass(mask)
registerBehaviourClass(ControlMenu)
registerBehaviourClass(ReturnMainScene)

registerPrefabBehaviourClass(cookScenePrefabBehaviour, './assets/scenes/cookScene.yaml')
registerPrefabBehaviourClass(startScenePrefabBehaviour,'./assets/scenes/startGame.yaml')
registerPrefabBehaviourClass(changeDaysPrefabBehaviour,'./assets/scenes/changeDays.yaml')
registerPrefabBehaviourClass(schoolgateScenePrefabBehaviour, './assets/scenes/schoolgateScene.yaml')
registerPrefabBehaviourClass(UIPrefabBehaviour, './assets/scenes/UI.yaml')

registerPrefabBehaviourClass(xinagcaiPrefabBehaviour, './assets/prefabs/testprefabs.yaml')
registerPrefabBehaviourClass(onionPrefabBehavior,'./assets/prefabs/onionPrefab.yaml')
registerPrefabBehaviourClass(latiaoPrefabBehavior,'./assets/prefabs/latiaoPrefab.yaml')
registerPrefabBehaviourClass(sausagePrefabBehavior,'./assets/prefabs/sausagePrefab.yaml')
registerPrefabBehaviourClass(baconPrefabBehaviour, './assets/prefabs/baconPrefab.yaml')
registerPrefabBehaviourClass(chikenPrefabBehaviour, './assets/prefabs/chikenPrefab.yaml')
registerPrefabBehaviourClass(suanrongPrefabBehaviour, './assets/prefabs/suanrongPrefab.yaml')
registerPrefabBehaviourClass(conghuaPrefabBehaviour, './assets/prefabs/conghuaPrefab.yaml')
registerPrefabBehaviourClass(sugarPrefabBehaviour, './assets/prefabs/sugarPrefab.yaml')
const engine = new GameEngine()
engine.start()
